1. Field of the Invention
The present invention relates to application configuration files. More particularly, the present invention relates to a method and apparatus for discovering application configuration files in a system.
2. Description of the Related Art
Application configuration files are a kind of file dedicated to recording and setting application-related configurations. Some applications only read concerned configuration files when they are launched, while other applications re-read concerned configuration files periodically or under certain circumstances. Then, they act upon the currently launched application. Currently, the application configuration files mainly include the following types: a text file, that is, the application configuration files are compiled in a pure text form, and runtime dependent static/dynamic loading lib, that is, a subscriber dynamic link library (dll). As a change of dynamic link library also affects the corresponding application configuration files, the dynamic link library is also categorized to this kind of configuration file. There is also another configuration file type, that is, Windows operating system specific registry table.
Typically, a change in the above various types of configuration files of a number of applications in a computing apparatus will affect the runtime reliability, availability and scalability of the applications. Error modifications to some critical configuration files may seriously threaten operation of the application and thereby may cause unrecoverable failures. Thus, the user should monitor the runtime application, particularly monitor whether the application configuration files have been changed, so as to detect a change of such configuration files as soon as possible. Thereby, if the change may potentially affect or has affected the reliability, availability and scalability of the application, a change of the application configuration files can be recorded timely and handled correspondingly, so as to eliminate the potential or existing impact.
However, before real-time monitoring of the operations of configuring the application configuration files and causing changes to the original application configurations, it is a very difficult task to automatically retrieve the application configuration files. Typically, the application configuration files are considerable in types and quantity, scattered at different locations in different systems. Therefore, it is often impossible to automatically find the configuration files. Moreover, though it is a very common operation to configure an application, when configuring a considerable number of applications, the data volume formed by the configuration operation will be enormous. When monitoring such an enormous data volume, it is highly demanding on the processing capability, computing capability and storing capability of the system running the operation, which will undoubtedly increase the cost of monitoring change of the application configuration.
The existing solutions for monitoring the application configuration files can be classified into multiple types. One type is monitoring changes of all configuration files of the whole system, namely all configuration files in the system are regarded as being related to the concerned application. Once error occurs to the application running, the configuration files to which change occurs in all configuration files can be checked for error recovery, but such monitoring costs considerably. Another kind is to monitor a specific configuration file, namely retrieving all configuration files related to the application. The user has to grab and analyze all configuration files of the application manually beforehand, which undoubtedly increases the user's workload.
Thus, a method and apparatus are needed for automatically discovering runtime application configuration files to thereby monitor the configuration files, so as to exactly determine whether the configuration files are changed. It should be noted that in the present invention, the term “configuration files” should be interpreted in the broadest sense, that is, all files affecting the running and operation of an application in a system shall be regarded as the configuration files of the application within the spirit and scope of the present invention.